package com.tinycloud.miracll.product.mapper;

import java.util.List;
import com.tinycloud.miracll.product.domain.ProductInstructionMain;
import com.tinycloud.miracll.product.domain.ProductInstructionDetail;

/**
 * 生产指令Mapper接口
 * 
 * @author tiny
 * @date 2022-05-25
 */
public interface ProductInstructionMainMapper {
    /**
     * 查询生产指令
     * 
     * @param instNum 生产指令主键
     * @return 生产指令
     */
    public ProductInstructionMain selectProductInstructionMainByInstNum(String instNum);

    /**
     * 查询生产指令列表
     * 
     * @param productInstructionMain 生产指令
     * @return 生产指令集合
     */
    public List<ProductInstructionMain> selectProductInstructionMainList(ProductInstructionMain productInstructionMain);

    /**
     * 新增生产指令
     * 
     * @param productInstructionMain 生产指令
     * @return 结果
     */
    public int insertProductInstructionMain(ProductInstructionMain productInstructionMain);

    /**
     * 修改生产指令
     * 
     * @param productInstructionMain 生产指令
     * @return 结果
     */
    public int updateProductInstructionMain(ProductInstructionMain productInstructionMain);

    /**
     * 删除生产指令
     * 
     * @param instNum 生产指令主键
     * @return 结果
     */
    public int deleteProductInstructionMainByInstNum(String instNum);

    /**
     * 批量删除生产指令
     * 
     * @param instNums 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProductInstructionMainByInstNums(String[] instNums);

    /**
     * 批量删除生产指令
     * 
     * @param instNums 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteProductInstructionDetailByInstNums(String[] instNums);
    
    /**
     * 批量新增生产指令
     * 
     * @param productInstructionDetailList 生产指令列表
     * @return 结果
     */
    public int batchProductInstructionDetail(List<ProductInstructionDetail> productInstructionDetailList);
    

    /**
     * 通过生产指令主键删除生产指令信息
     * 
     * @param instNum 生产指令ID
     * @return 结果
     */
    public int deleteProductInstructionDetailByExcelServerRCID(String instNum);
}
